package study.activiti.ssh.web.action;


import study.activiti.ssh.domain.Employee;
import study.activiti.ssh.service.IEmployeeService;
import study.activiti.ssh.utils.SessionContext;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

@SuppressWarnings("serial")
public class LoginAction extends ActionSupport implements ModelDriven<Employee> {

	private Employee employee = new Employee();
	
	public Employee getModel() {
		return employee;
	}
	
	private IEmployeeService employeeService;

	public void setEmployeeService(IEmployeeService employeeService) {
		this.employeeService = employeeService;
	}


	/**  
	* @Name: login（方法的名称）
	* @Description: 登录系统，将登录用户信息保存到session中（方法的描述）
	* @Author: 李超（作者）
	* @Version: V1.00 （版本号）
	* @Create Date: 2016-12-16 （创建日期）
	* @Parameters: 无（方法的入参，如果没有，填写为“无”）
	* @Return: 无（返回值，如果没有，填写为“无”）
	*/
	public String login(){
		//1、获取登录名
		String name = employee.getName() ;
		//2、根据登录名查询员工表，获取当前登录用户信息
		Employee emp = employeeService.findEmployeeByName(name) ;
		//3、将查询到的用户信息（唯一）存入到session中
		SessionContext.setUser(emp) ;
		return "success";
	}
	
	/**
	 * 标题
	 * @return
	 */
	public String top() {
		return "top";
	}
	
	/**
	 * 左侧菜单
	 * @return
	 */
	public String left() {
		return "left";
	}
	
	/**
	 * 主页显示
	 * @return
	 */
	public String welcome() {
		return "welcome";
	}
	
	/**  
	* @Name: logout（方法的名称）
	* @Description: 退出系统，退出前清空session（方法的描述）
	* @Author: 李超（作者）
	* @Version: V1.00 （版本号）
	* @Create Date: 2016-12-16 （创建日期）
	* @Parameters: 无（方法的入参，如果没有，填写为“无”）
	* @Return: 无（返回值，如果没有，填写为“无”）
	*/
	public String logout(){
		//清空session
		SessionContext.setUser(null) ;
		return "login";
	}
}
